/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.knolle.campanias.util;

import java.awt.datatransfer.DataFlavor;
import java.awt.datatransfer.Transferable;
import java.awt.datatransfer.UnsupportedFlavorException;
import java.io.IOException;
import org.marcelo.agro.entidades.Lotes;


/**
 *
 * @author marcelo
 */
 public class SeleccionLote implements Transferable {
    
        public static final DataFlavor DATA_FLAVOR = new DataFlavor(Lotes.class, "Lotes"); 
        private Object[] datos;
        private Object source;
        
        
        /**
         * Metodo para crear el transferable, sin pasarle el nombre del source
         * @param datos 
         */
        public SeleccionLote(Object[] datos){
           this.datos = datos;
        }
        
        /**
         * Metodo para crear el transferable y setear el nombre del source
         * @param datos
         * @param source 
         */
        public SeleccionLote(Object[] datos, Object source){
           this.source= source;
           this.datos = datos;
        }
        
        /**
         * Metodo para obtener el elemento donde se origino la transferencia
         * @return una instancia de javax.swing.JList para utilizarlo en la comparacion de los datos
         */
        public Object getSource(){
          return source;
        }
        
        /**
         * Metodo para retornar los datos de se quieren transferir
         * @return un array de objetos
         */
        public Object[] getDatos(){
           return this.datos;
        }
        
        
        @Override
        public DataFlavor[] getTransferDataFlavors() {
            return new DataFlavor[] {DATA_FLAVOR};
        }

        @Override
        public boolean isDataFlavorSupported(DataFlavor flavor) {
           return flavor == DATA_FLAVOR;
        }

        @Override
        public Object getTransferData(DataFlavor flavor) throws UnsupportedFlavorException, IOException {
            if (flavor == DATA_FLAVOR){
               return this.datos;
            }
            else {
                throw new UnsupportedFlavorException(flavor);
            }
        }
    
    }
